<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category   Mage
 * @package    Mage_Checkout
 * @copyright  Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */

/**
 * One page checkout status
 *
 * @category   Mage
 * @category   Mage
 * @package    Mage_Checkout
 * @author      Magento Core Team <core@magentocommerce.com>
 */

class Magentochina_Shippingtime_Block_Onepage_Shipping_Method_Available extends Mage_Checkout_Block_Onepage_Shipping_Method_Available
{
   /**
     * Prepare children blocks
     */
    protected function _prepareLayout()
    {
        $this->setTemplate('shippingtime/checkout/onepage/shipping_method/available.phtml');
		if( $this->getLayout()->getBlock('head') )
    		$this->getLayout()->getBlock('head')->addJs( 'varien/shipment.js' );
    	 /**
         * Create child blocks for shipping methods forms
         */
        foreach ($this->getShippingMethods() as $method) {
        	if( stristr( $method->getCode(),'Shippingtime' ) ){
	        	$this->setChild(
	        	   'shipping.method.'.$method->getCode(),
	        	   $this->helper('Shippingtime')->getMethodFormBlock($method)
	            );
        	}
        }

        return parent::_prepareLayout();
    }
    
    protected function getShippingMethods()
    {
    	$methods = array();
    	$_shippingRateGroups = $this->getShippingRates();
    	foreach ($_shippingRateGroups as $code => $_rates){
    		foreach ($_rates as $_rate){    			
    			$methods[] = $_rate;
    		}
    	}
    	
    	return $methods;
    }
}